Internet or web based client applications for delivering a networked service generally have two main components. The first is the “look and feel” component of the client application. The second component is the client's application functionality. The “look and feel” has traditionally been the purview of a web designer, who has the requisite skills to prepare and create the presentation elements of the application. The client application's functionality traditionally has been handled by a web developer, who creates, implements and assembles the functional elements of the client application.
The presentation and functional elements of a client application are normally incorporated in the same application files, the result being that designers and developers work on the same file. There are several potential disadvantages associated with this approach. For example, if any element of the client application (presentation or function) is changed, then the whole client application client may have to be recompiled. Also, there may be potential problems relating to version control, duplication of work, and client application extensibility.
The advent of Java and Java Server Pages remedied some of these problems. A Java Server Page in conjunction with Java Beans or enterprise Java Beans permitted many of the functional elements of a client application to be separated from the presentation elements, thereby permitting the developer to create and modify the functional units (e.g.,java beans) while freeing the presentation elements of the java server page to the web designer. This approach, however, continues to suffer from many of the same drawbacks as the traditional client application approach. If a presentation or functional element changed, then it may be necessary to amend and possibly recreate the Java Server Page. Since the Java Server Page still includes both functional and presentation elements, there also remains the potential problems of version control and work duplication.
It is an object of the present invention to provide a multi-tier application to obviate or mitigate at least some of the above presented disadvantages.